package com.koron.ticket.operation.bean;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

@ApiModel(value="操作票-操作步骤从表")
@Data
public class OperationStepBean implements Serializable {

    @ApiModelProperty(value = "唯一id")
    private String id;

    /**
    * 操作票ID
    */
    @ApiModelProperty(value="操作票ID")
    private String operationId;

    /**
    * 上级序号
    */
    @ApiModelProperty(value="上级id")
    private String parentId;

    /**
    * 受令单位ID
    */
    @ApiModelProperty(value="受令单位ID")
    private String deptId;

    /**
    * 受令单位名称
    */
    @ApiModelProperty(value="受令单位名称")
    private String deptName;

    /**
    * 操作步骤内容
    */
    @ApiModelProperty(value="操作步骤内容")
    private String item;

    /**
    * 受令人账号
    */
    @ApiModelProperty(value="受令人账号")
    private String acceptMan;

    /**
    * 受令人名字
    */
    @ApiModelProperty(value="受令人名字")
    private String acceptManName;

    /**
    * 发令时间
    */
    @JsonFormat(shape = JsonFormat.Shape.STRING,pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm")
    @ApiModelProperty(value="发令时间")
    private Date publishTime;

    /**
    * 报告人账号
    */
    @ApiModelProperty(value="报告人账号")
    private String reportMan;

    /**
    * 报告人名称
    */
    @ApiModelProperty(value="报告人名称")
    private String reportManName;

    /**
    * 报告时间
    */
    @JsonFormat(shape = JsonFormat.Shape.STRING,pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value="报告时间")
    private Date reportTime;

    /**
    * 排序
    */
    @ApiModelProperty(value="排序")
    private String sort;

    /**
     * 划号
     */
    @ApiModelProperty(value = "划号 0不打勾、1打勾")
    private Integer marks;

    /**
     * 备注
     */
    @ApiModelProperty(value="备注")
    private String remarks;

    /**
     * 设备编号
     */
    @ApiModelProperty(value="设备编号")
    private String sbbh;
    /**
     * 操作前状态
     */
    @ApiModelProperty(value="操作前状态")
    private Integer fromState;
    /**
     * 操作后状态
     */
    @ApiModelProperty(value="操作后状态")
    private Integer toState;
    /**
     * 厂站
     */
    @ApiModelProperty(value="厂站")
    private String station;
    /**
     * 地线号
     */
    @ApiModelProperty(value="地线号")
    private Integer earthId;
    /**
     * 是否到钥匙（Y/N）
     */
    @ApiModelProperty(value="是否到钥匙（Y/N）")
    private String toKey;
    /**
     * 是否是提示项（Y/N）
     */
    @ApiModelProperty(value="是否是提示项（Y/N）")
    private String isPrompt;
    /**
     * 是否完成
     */
    @ApiModelProperty(value="是否完成")
    private String isFinished;
    /**
     * 执行时间
     */
    @ApiModelProperty(value="执行时间")
    private Date executeTime;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建时间", hidden = true)
    private Date createTime;

    /**
     * 子步骤
     */
    @javax.persistence.Transient
    @ApiModelProperty(value = "子步骤")
    private List<OperationStepBean> children;

    private static final long serialVersionUID = 1L;
}
